package com.spark.common.core.entity.online;

import com.baomidou.mybatisplus.annotation.TableName;
import com.spark.common.annotation.Dict;
import com.spark.common.annotation.query.Query;
import com.spark.common.constants.QueryConstants;
import com.spark.common.core.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * 系统数据字典项
 *
 * @author LYCHEE
 * @date 2025/02/21 12:04
 */
@Data
@TableName("online_data_source")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
public class OnlineDataSource extends BaseEntity {

    /**
     * 数据源名称
     */
    @Query(QueryConstants.QUERY_LIKE)
    @NotBlank(message = "数据源名称不能为空")
    private java.lang.String dbName;

    /**
     * 数据源编码
     */
    @Query(QueryConstants.QUERY_LIKE)
    @NotBlank(message = "数据源编码不能为空")
    private java.lang.String dbCode;

    /**
     * 数据源类型
     */
    @Query
    @NotBlank(message = "数据源类型不能为空")
    private java.lang.String dbType;

    /**
     * 驱动类
     */
    @NotBlank(message = "驱动类不能为空")
    private java.lang.String dbDriver;

    /**
     * 数据源地址
     */
    @NotBlank(message = "数据源地址不能为空")
    private java.lang.String dbUrl;

    /**
     * 用户名
     */
    @NotBlank(message = "用户名不能为空")
    private java.lang.String dbUsername;

    /**
     * 密码
     */
    private java.lang.String dbPassword;

    /**
     * 是否开启
     *  : 0是 1否
     */
    @Query
    @Dict(dictCode = "yes_or_no")
    private java.lang.Integer isUse;

    /**
     * 是否默认
     *  : 0是 1否
     */
    @Query
    @Dict(dictCode = "yes_or_no")
    @NotNull(message = "是否默认不能为空")
    private java.lang.Integer isDefault;

    /**
     * 备注
     */
    private java.lang.String remark;
}
